1. Field of the Invention
The invention relates in general to displaying information on a raster scan display device, and in particular to balancing utilization of image memory bandwidth between a plurality of display devices having the same or different display formats.
2. Related Art
Video formats were developed as methods of displaying picture element (or pixel) information on a raster display device such as a cathode-ray tube (CRT). The picture on a CRT screen is xe2x80x9cpaintedxe2x80x9d by an electron beam that is accelerated toward the phosphor coated screen by a high positive voltage near the face of the tube. When the electrons hit the screen, the phosphor emits visible light. The electron beam makes a horizontal scan by moving along a horizontal line across the screen from left to right, and makes a vertical scan by incrementally moving down in the vertical direction until it reaches the bottom of the screen. As the beam completes all the horizontal scans in a single vertical scan, a frame is displayed. Because the phosphor""s light output decays exponentially with time, the entire picture (or frame) must be refreshed (redrawn) many times per second so that the viewer sees what appears to be a constant, unflickering picture. This is referred to as the vertical field rate.
Video display devices are characterized by a particular scan rate, which specifies the number of scanning lines per frame, and the vertical field rate. A display device is further characterized by a specified horizontal resolution which is the number of pixels per line, and vertical resolution which is the number of lines per raster scan frame. The timing relationship between these signals is governed by a synchronization method which is a complex combination of horizontal and vertical timing (pulse) information that controls the decoding of the video signal by a display device or other video processing equipment.
These video signal specifications are generally referred to as a video format. A video format represents a periodic sequence of a time-varying signal (or signals) that defines the method by which pixel information has been encoded, horizontal and vertical resolution and synchronization method.
Based on the operating requirements of traditional television equipment, a set of standards defining video formats were developed. However, new and varied applications for display devices requiring different scan rates and resolutions soon brought deviations from those standards. As a result, over the years, many different standards have been developed (e.g., NTSC, PAL, RS-343 and RGB), with each employing different scan rates.
The variety in display devices that require different video formats has led to interfacing problems between different display devices and existing systems. For example, for a computer to connect to different monitors, it""s video output format must be modified to meet the requirements of the target monitor. Changing the video output format of some processing systems requires modifying the hardware, or configuring the hardware through a complex set of hardware-specific instructions. The hardware-only solution requires an alteration of hardware to change the video output format, which in some instances may necessitate as much as a new display generator. The second approach requires an expert knowledge of the operation of the hardware to develop a complex and tedious description of the format. Thus, both approaches tend to be inefficient and costly.
U.S. Pat. No. 5,455,627 to Eitzmann et al., which is incorporated herein by reference, discloses a more efficient solution to the problem of generating multiple video formats. Specifically, Eitzmann et al. disclose a programmable video output format generator that permits a processing system to drive different display devices with varying display format requirements. The programmable generator provides a compiler that generates display formats based on user input, and a state machine that generates all video signals with the requisite output formats.
There is now a need to provide support for multiple video formats in a networked graphics system.
The present invention includes a pull-model system and method that provides display data over a network to a plurality of display devices having the same or different video format requirements. In a network that has highly variable latency, the invention manages system resources so that requests from multiple requesters are handled in a well balanced, real-time manner. Requests for display data are kept relatively large (e.g., full lines of data such as 2000 pixels are requested) while the responses are kept relatively small (e.g., 16 pixels). The large requests provide immunity to the highly variable latency of the network while the small responses allow even load balancing.
The method of the invention balances utilization of image memory bandwidth between a plurality of display devices. The method includes the following steps: generating, based on image memory bandwidth requirements for the plurality of display devices, a bandwidth allocation table indicating a servicing priority for the display devices; receiving into a request buffer, from each display device, a plurality of requests for pixel data from the image memory; and servicing the plurality of requests in an order indicated by the bandwidth allocation table.
Because the requests are larger than the responses, the requests are updated in the request buffer as they are partially serviced. That is, if the sent pixel data represents all of the requested pixel data, the selected request is removed from the request buffer. However, if the sent pixel data does not represent all of the requested pixel data, then the selected request is updated in the request buffer to indicate that a portion of the requested pixel data has been sent.
The system of the invention includes a bandwidth allocation table indicating a servicing priority for the plurality of display devices; a request buffer for storing at least one request for pixel data from each of the plurality of display devices; and a controller for controlling servicing of the requests in the request buffer in an order specified by the bandwidth allocation table. The controller performs the following functions: selecting, based on the servicing priority indicated by the bandwidth allocation table, a request to be serviced from the plurality of requests in the request buffer; causing, for the selected request, at least a portion of requested pixel data to be retrieved from an image memory; causing the retrieved pixel data to be sent to the requesting display device; causing the selected request to be removed from the request buffer, if the sent pixel data represents all of the requested pixel data; and causing the selected request in the request buffer to be updated to indicate that the portion of the requested pixel data has been sent, if the sent pixel data does not represent all of the requested pixel data.